| Автор перевода: Майкл "Antares" Клишин | Предыдущая | Следующая | Оглавление |
Flash Player 5.
Класс XMLSocket работает с сокетами-клиентами, позволяющими компьютеру с запущенным Flash Player обмениваться данными с сервером, идентифицируемым по IP адресу или доменному имени. Класс XMLSocket полезен для клиент-серверных приложений, требующих низкой латентности при работе, например, чатов. Традиционные, основанные на HTTP, решения в случае чатов, с определенной периодичностью опрашивают сервер и получают новые сообщения, используя HTTP запросы. В противоположность этому чат, сделанный с использованием XMLSocket, использует открытое соединение с сервером, позволяющее мнгновенно отправлять сообщения, не ожидая запрос клиента.
Чтобы использовать класс XMLSocket, на сервере должна быть запущена служба (daemon), распознающая протоком, используемый классом XMLSocket. Описание протокола в списке ниже:
Существует ряд нюансов при подключении объекта XMLSocket к серверу:
XMLSocket.connect() может устанавливать соединение только с TCP портами, чей номер больше или равен 1024. Следствием этого является то, что серверная служба, взаимодействующая с объектом XMLSocket, должна быть настроена на использование порта с номером 1024 и выше. Порты до 1024 часто используются системными службами, такими как FTP, Telnet и HTTP, поэтому объекты XMLSocket отделены от этих портов по причинам безопасности. Правило с номерами портов ограничивает возможность, что системные ресурсы будут затронуты.XMLSocket.connect() может подключаться только к серверам в том же домене, что и SWF файл. Это не распространяется на SWF файлы, запущенные с локального диска. (Оно идентично правилу для loadVariables(), XML.sendAndLoad() и XML.load().) Чтобы подключиться к серверу, находящемуся в другом домене, вы можете создать файл с правилами (security policy file) на сервере, чтобы разрешить доступ с различных доменов. Для более подробной информации по созданию файлов с правилами для XMLSocket соединений, смотри "О кросс-доменной загрузке данных " в Использование ActionScript во Flash.Использование сокет-сервера и объекта XMLSocket для обмена данными может быть излишним. Если ваше приложение не требует интерактивности в реальном времени, используйте функцию loadVariables() или основанные на HTTP XML-соединения (XML.load(), XML.sendAndLoad(), XML.send()) вместо класса XMLSocket.
Чтобы пользоваться методами класса XMLSocket, сначала необходимо создать объект XMLSocket, используя конструктор new XMLSocket.
|
Method |
Описание |
|---|---|
|
Закрывает открытое сокет-соединение. |
|
Устанавливает соединение с указанным сервером. |
|
Отправляет XML объект серверу. |
|
Обработчик события |
Описание |
|---|---|
|
Вызывается при закрытии XMLSocket соединения. |
|
Вызывается Flash Player-ом, когда запрос на соединение, отправленные при помощи |
|
Вызывается при получении XML сообщения с сервера. |
|
Вызывается при получении XML объекта с сервера. |
Flash Player 5.
new XMLSocket(): XMLSocket
Нет.
Ссылку на объект XMLSocket.
Функция-конструктор; создает новый объект XMLSocket. Объект XMLSocket изначально не связан ни с одним сервером. Вы должны воспользоваться методом XMLSocket.connect() для установки соединения.
Код в примере ниже создает объект XMLSocket:
var socket:XMLSocket = new XMLSocket();
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |